using System;
using Infragistics.UltraChart.Resources.Appearance;
using Infragistics.Win.UltraWinChart;
using PluginFrame;

namespace PcrDataAnalysis
{
    [Serializable]
    public class QuantitativeAnalysisResult : IQuantitativeAnalysisResult, IAnalysisResult
    {
        protected IPcrExperimentProject mProject;

        protected double mSlope;

        protected double mIntercept;

        protected double mSquareError;

        protected double mThreshold;

        protected double mAmplificationRate;

        protected int mProjectChannel;

        protected string mProjectName;

        [NonSerialized]
        protected XYSeries mStandardPointSeries;

        [NonSerialized]
        protected XYSeries mStandardLineSeries;

        protected PcrExperimentStatus mPcrExperimentStatus;

        public IPcrExperimentProject Project
        {
            get
            {
                return mProject;
            }
            set
            {
                mProject = value;
            }
        }

        public XYSeries StandardPointSeries
        {
            get
            {
                return mStandardPointSeries;
            }
            set
            {
                mStandardPointSeries = value;
            }
        }

        public XYSeries StandardLineSeries
        {
            get
            {
                return mStandardLineSeries;
            }
            set
            {
                mStandardLineSeries = value;
            }
        }

        public double Threshold
        {
            get
            {
                return mThreshold;
            }
            set
            {
                mThreshold = value;
            }
        }

        public PcrExperimentStatus PcrExperimentStatus
        {
            get
            {
                return mPcrExperimentStatus;
            }
            set
            {
                mPcrExperimentStatus = value;
            }
        }

        public string ProjectName
        {
            get
            {
                return mProjectName;
            }
            set
            {
                mProjectName = value;
            }
        }

        public int ProjectChannel
        {
            get
            {
                return mProjectChannel;
            }
            set
            {
                mProjectChannel = value;
            }
        }

        public double AmplificationRate
        {
            get
            {
                return mAmplificationRate;
            }
            set
            {
                mAmplificationRate = value;
            }
        }

        public double Slope
        {
            get
            {
                return mSlope;
            }
            set
            {
                mSlope = value;
            }
        }

        public double Intercept
        {
            get
            {
                return mIntercept;
            }
            set
            {
                mIntercept = value;
            }
        }

        public double SquareError
        {
            get
            {
                return mSquareError;
            }
            set
            {
                mSquareError = value;
            }
        }
    }
}
